This invention relates to a circuit arrangement for use in a virtual machine to initialize an interrupt operation in response to an interrupt request.
In a virtual machine of the type described, a wide variety of processing can be executed in accordance with a plurality of operating systems under control of a control program in a time division fashion. The operating system will often be abbreviated to OS hereinunder. With the virtual machine, it is possible to evaluate the plurality of the operating systems and to change the operating systems from one to another with time.
In such a virtual machine, an interrupt or interruption request might often appear from an input/output device during execution of a certain one of the operating systems. The operating system under consideration may be referred to as a current operating system while an interrupt request from the input/output device may be called an input/output (I/O) interrupt request. For such an I/O interrupt request, an interrupt processing program is included in each operating system.
Herein, it is to be noted that the interrupt request in question may be destined or directed to one of the other operating systems that is different from the current operating system and that may be called an operating system in question. For this purpose, the control program monitors occurrence of each interrupt request and judges which one of the operating systems the I/O interrupt request is directed to. Thereafter, the control program starts the interrupt processing program included in the operating system in question. Regardless, occurrence of the interrupt request must be notified to the operating system in question.
In U.S. Pat. No. 4,764,864, the instant inventor, H. Takane, assignor to NEC Corporation, proposes a method of notifying the operating system in question of occurrence of an input/output interrupt request. However, this proposal is restricted to a virtual machine comprising a single execution processing unit. This means that no consideration is paid in the above-mentioned patent application to a virtual machine comprising a plurality of execution processing units.
When a plurality of execution processing units are included in a virtual machine, it has been found that specific processing must be executed when an input/output interrupt request is issued from the input/output device. For example, let a particular input/output interrupt request be produced so as to start the interrupt processing program included in a preselected one of the operating systems. In this event, the particular input/output interrupt request is not always received by a destination one of the execution processing units that is executing the preselected operating system.
If the particular input/output interrupt request is received by an undestined one of the execution processing units, the destination execution processing unit must be triggered to start the interrupt processing program of the preselected operating system which runs on the destination execution processing unit. Such an undestined one of the execution processing units may be named a reception processing unit.
To this end, a conventional idea might be that a dummy input/output request is supplied to the input/output device from the reception processing unit in order to make the input/output device produce an additional input/output interrupt request again and to deliver the additional input/output interrupt request to the destination execution processing unit.
Such delivery of the additional input/output interrupt request may serve to start the interrupt processing program of the preselected operating system. However, the input/output device and the reception processing unit must carry out useless input/output operation on occurrence of the input/output interrupt request. This results in an increase of overhead of processing and a reduction of throughput in the virtual machine.